/**
 * 
 * 舞台核心类,包含一层场景Layer在底层（全局、根节点）
 * http://edn.egret.com/cn/apidoc/index/name/eui.UILayer
 * http://edn.egret.com/cn/apidoc/index/name/egret.Stage
 */
class StageScene extends BaseClass{
    private static uiStage: eui.UILayer;
    
	public constructor() {
        super();
        if(StageScene.uiStage == null){
            StageScene.uiStage = new eui.UILayer
            StageScene.uiStage.percentHeight = 100;
            StageScene.uiStage.percentWidth = 100;
            Log.d("stageWidth:" + this.getStage().stageWidth + ",stageHeight:" + this.getStage().stageHeight);
            this.getStage().addChild(StageScene.uiStage);
    	  }
	}
	
    public static get get(): StageScene{
        return StageScene.getInstance();
	}
	
	/**
     * 获取游戏Stage对象
     */
    public getStage(): egret.Stage {
        return egret.MainContext.instance.stage;
    }
    /**
     * 获取root节点布局
     * UILayer
     */ 
    public getUIStage(): eui.UILayer{
        return StageScene.uiStage;
    }
    
	
    /**
    * 获取游戏的高度
    * @returns {number}
    */
    public getHeight(): number {
        return this.getStage().stageHeight;
    }

    /**
     * 获取游戏宽度
     * @returns {number}
     */
    public getWidth(): number {
        return this.getStage().stageWidth;
    }
    
    /**
     * 指定此对象的子项以及子孙项是否接收鼠标/触摸事件
     * @param value
     */
    public setTouchChildren(value: boolean): void {
        this.getStage().touchChildren = value;
    }
    
    /**
     * 设置同时可触发几个点击事件，默认为2
     * @param value
     */
    public setMaxTouches(value: number): void {
        this.getStage().maxTouches = value;
    }
    
   /**
    * 设置帧频
    * @param value
    */
    public setFrameRate(value: number): void {
        this.getStage().frameRate = value;
    }
    
    /**
     * 设置适配方式
     * @param value
     */
    public setScaleMode(value: string): void {
        this.getStage().scaleMode = value;
    }
    
    
}
